<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>04_监视属性_简写</title>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>

</head>
<body>
    <!-- 准备好一个容器 -->
    <div id="root">
        <h2>今天天气很{{info}}</h2>
        <button @click="changeWeather">切换天气</button>
        
    </div>

</body>
    <script type="text/javascript">
        const vm = new Vue({
            el:'#root',
            data:{
                isHot: true,
               
            },
            computed:{
                info(){
                    return this.isHot ? '炎热' : '凉爽';
                }
            },
            methods: {
                changeWeather(){
                    this.isHot = !this.isHot
                }
            },
            watch:{
                //完整写法
                // isHot:{
                //     // immediate:true,   //初始化时让handler调用一下
                //     // deep:true,    //深度监视
                //     //handler什么时候调用？当isHot发生改变时调用
                //     handler(newVal,oldVal){
                //         console.log('isHot被修改了',newVal,oldVal)
                //     }
                // },


                //简写
                // isHot(newVal,oldVal){
                //     console.log('isHot被修改了',newVal,oldVal)
                // }
              
            }
        })  
        
        //完整写法
        // vm.$watch('isHot',{
                // immediate:true,   //初始化时让handler调用一下
                // deep:true,    //深度监视
                //handler什么时候调用？当isHot发生改变时调用
                // handler(newVal,oldVal){
                //     console.log('isHot被修改了',newVal,oldVal)
                // }
                // });

        //简写
        vm.$watch('isHot',function(newVal,oldVal){
            console.log('isHot被修改了',newVal,oldVal)
        })

    </script>

</html>